#ifndef GAME_H_INCLUDED
#define GAME_H_INCLUDED

/**游戏逻辑模板**/

#include <stdio.h>
#include <time.h>

///方块结构体
typedef struct{
int x;
int y;
int shape;
int status;
int color;
}BLOCK;

///绘制游戏池边框
void windowPrint(int x,int y);

///游戏初始化
void gameInit();

///打印操作说明
void printInfo();

///提示
void printTitle(int num);

///打印分数和等级
void printGradeLevel(int num);

///游戏计时
void gameTime(clock_t start_time);


///方块打印
void printBlock(int x,int y,int shape,int status, int color);

///删除方块
void deleteBlock(int x,int y,int shape,int status);

///产生游戏的第一个方块
void startBlock();

///产生下一个方块
void nextBLOCK();

///拷贝方块
void copyBLOCK();

///方块下移
///返回值：标识方块是否到达游戏底部
int downBLOCK();

///方块左移
void leftBLOCK();

///方块右移
void rightBLOCK();

///方块变形
void changeBlock();

///碰撞检测
int crash(int x,int y,int shape,int status);

///保存方块
void save();

///刷新游戏池
void updateGame();

///暂停
void pause();

///方快直接落底
void bottomBlock();

///消行检测
void lineClear();

///统计消行
void lineClearNum(int num);

///消行下移动
void lineDown(int line);

///游戏结束动画
void printOver();

///重新开始提示
void printFinish();

///重现开始游戏
void againGame();

///打印开始界面
void printStart(int x,int y);

///清除开始动画
void deleteStart(int x,int y);

///动画效果->定时（边界控制）
void printAnimation();






#endif // GAME_H_INCLUDED























